import redis
import Env.env_config as cfg
import json

class redisResult(object):

    def __init__(self):
        # 创建连接池
        self.pool = redis.ConnectionPool(host=cfg.SERVER_IP, port=6379, db=2)  # 获取保存结果 （ 默认 db=0 ）
        # 连接
        self.r = redis.Redis(connection_pool=self.pool)
        # 使用管道
        self.pipe = self.r.pipeline(transaction=True)

    def get_res(self, key):
        try:
            res_byte = self.r.get(f"celery-task-meta-{key}")
            res_dict = json.loads(res_byte.decode("utf-8"))
        except Exception:
            res_dict = {"msg": f"task_id={key} 暂未获取到结果"}
        return res_dict

    def add(self):
        # 添加
        self.r.set('name', 'fxc')
        self.r.set('age', '18')
        self.r.set('sex', 'nan')
        # pipline 一次请求处理多个命令
        self.pipe.execute()


if __name__ == "__main__":
    redis = redisResult()
    res_dict = redis.get_res("fcd4c9cc-70f3-4c80-b434-30a389e4e0e22a")
    print(res_dict)

